package org.sysdance.aplicativo.servico;

import java.util.Collection;

import org.sysdance.aplicativo.dao.ContaDAO;
import org.sysdance.aplicativo.entidade.AlunoTurmaCurso;
import org.sysdance.aplicativo.entidade.Conta;
import org.sysdance.aplicativo.excecao.DAOException;
import org.sysdance.aplicativo.excecao.ServicoException;
import org.sysdance.aplicativo.integracao.ContaIntegracao;
import org.sysdance.aplicativo.vo.ContaVO;

public class ContaServico implements ContaIntegracao {

	private final ContaDAO contaDAO = new ContaDAO();
	
	@Override
	public void inserirConta(Conta conta) throws ServicoException {
		try {
			this.contaDAO.inserirConta(conta);
		} catch (DAOException e) {
			throw new ServicoException(e.getMessage());
		}
	}
	
	@Override
	public Collection<ContaVO> consultarContas(Integer idAlunoTurmaCursoAluno) {
		return this.contaDAO.consultarContas(idAlunoTurmaCursoAluno);
	}
	
	@Override
	public void atualizarSituacaoConta(ContaVO conta) throws ServicoException {
		try {
			this.contaDAO.atualizarSituacaoConta(conta);
		} catch (DAOException e) {
			throw new ServicoException(e.getMessage());
		}
	}
	
	public Boolean isDadosInformadosCorretamente(final AlunoTurmaCurso alunoTurmaCurso){
		return (!alunoTurmaCurso.getAluno().getIdAluno().equals(-1)) &&
			   (!alunoTurmaCurso.getCurso().getIdCurso().equals(-1)) &&
			   (!alunoTurmaCurso.getTurma().getIdTurma().equals(-1));
	}

}
